I'm currently working in a Django project, We have a lot of tests (~ 2000) and a fair amount of code coverage currently. The system and the requirements of the client grows everyday (like in every other project these days). I've convinced that the effort we put in making each of these tests pays off daily.
Speaking with other Django and Python developers I've noticed that people often "overengineer" their unit tests and they usually tend to break their principles.
In this presentation I will talk mainly about unit tests. - what packages we use and how and when to use them (properly). We will take a look on how we structure our projects and how this structure actually helps us write proper unit tests. I will start with the very basic tests and continue with the mocking technique. In the end I'm going to refer to other testing methods (integration, E2E, validation testing, visual regression, etc.).
The goal of this talk is to make people better in testing and to show them how these skills will fasten the development process and help them maintain their project and it's quality.
Please see our speaker release agreement for details: https://ep2018.europython.eu/en/speaker-release-agreement/